package com.example.designpattern.creational.singleton.hunger;

/**
 * 饿汉式：变量在声明时便初始化。
 * <p>
 * 可以看到，我们将构造方法定义为 private，这就保证了其他类无法实例化此类，
 * 必须通过 getInstance 方法才能获取到唯一的 instance 实例，非常直观。
 * 但饿汉式有一个弊端，那就是即使这个单例不需要使用，它也会在类加载之后立即创建出来，占用一块内存，并增加类初始化时间。
 * 就好比一个电工在修理灯泡时，先把所有工具拿出来，不管是不是所有的工具都用得上。就像一个饥不择食的饿汉，所以称之为饿汉式。
 */
public class Singleton {

    private static Singleton instance = new Singleton();

    private Singleton() {
    }

    public static Singleton getInstance() {
        return instance;
    }
}